
package com.probiz.estore.order;


public class OrderConstants {

	/** ------------------------------------订单基础状态-------------------------------**/
	public final static Short	ORDER_STATUS_AWAITING_CONFIRMATION		= Short.valueOf((short)0);		// 等待确认
	public final static Short	ORDER_STATUS_CONFIRMED					= Short.valueOf((short)1);	    // 已经确认
	public final static Short	ORDER_STATUS_HANDLING					= Short.valueOf((short)2);      // 处理中
	public final static Short	ORDER_STATUS_COMPLETE					= Short.valueOf((short)10);		// 完成
	public final static Short	ORDER_STATUS_CANCELLED_ADMIN			= Short.valueOf((short)-1);		// 作废取消 后台管理员
	public final static Short	ORDER_STATUS_CANCELLED_CUSTOMER			= Short.valueOf((short)-2);		// 作废取消 前台用户
	public final static Short	ORDER_STATUS_CANCELLED_PAY_TIMEOUT		= Short.valueOf((short)-3);		// 作废取消 订单过期未支付
	
	
	/** ------------------------------------支付状态-------------------------------**/
	public final static Short	PAYMENT_STATUS_UNPAID					= Short.valueOf((short)0);		// 未支付
	public final static Short	PAYMENT_STATUS_ALL_PAID					= Short.valueOf((short)1);	    //全额支付
	public final static Short	PAYMENT_STATUS_PARTIALLY_PAID			= Short.valueOf((short)2);	    //部分支付
	public final static Short	PAYMENT_STATUS_PARTIALLY_REFUND			= Short.valueOf((short)-2);	    //部分退款
	public final static Short	PAYMENT_STATUS_ALL_REFUND			    = Short.valueOf((short)-1);	    //全额退款
	
	
	/** ------------------------------------发货状态-------------------------------**/
	public final static Short	SHIPMENT_STATUS_UNSHIP				   = Short.valueOf((short)0);		// 未发货
	public final static Short	SHIPMENT_STATUS_ALL_SHIPPED			   = Short.valueOf((short)1);		// 全部发货
	public final static Short	SHIPMENT_STATUS_PARTIALLY_SHIPPED	   = Short.valueOf((short)2);		// 部分发货
	public final static Short	SHIPMENT_STATUS_PARTIALLY_RETURNED	   = Short.valueOf((short)-2);		// 部分退货
	public final static Short	SHIPMENT_STATUS_ALL_RETURNED		   = Short.valueOf((short)-1);		// 全部退货
	
	
	/** ------------------------------------支付方式 与PaymentMethod表的纪录的ID对应 -------------------------------**/
	public final static Integer	PAYMENT_METHOD_COD				   	   = Integer.valueOf(1);	    	// 货到付款
	public final static Integer	PAYMENT_METHOD_ONLINE			   	   = Integer.valueOf(2);     		// 在线支付
	public final static Integer	PAYMENT_METHOD_BANK 			   	   = Integer.valueOf(3);		    // 银行卡转账
	public final static Integer	PAYMENT_METHOD_POSTAL  			   	   = Integer.valueOf(4);		    // 邮件汇款
	public final static Integer	PAYMENT_METHOD_SELFCOLLECT		   	   = Integer.valueOf(5);		    // 自提
	public final static Integer	PAYMENT_METHOD_OFFLINE   		   	   = Integer.valueOf(-1);		    // 线下支付 包括货到付款和自提两种

	public final static Integer	PAYMENT_METHOD_POINT   			   	   = Integer.valueOf(-1);		    // 积分支付
	public final static Integer	PAYMENT_METHOD_GC   			   	   = Integer.valueOf(-2);		    // 礼券支付

	public final static Integer	REFUND_METHOD_POINT   			   	   = Integer.valueOf(-101);		    // 退还积分
	public final static Integer	REFUND_METHOD_GC   			   	       = Integer.valueOf(-102);		    // 礼券退款

	public final static String	PAYMENT_METHOD_POINT_DESC		   	   = "积分支付";           		    // 积分支付
	public final static String	PAYMENT_METHOD_GC_DESC      	   	   = "礼券支付";           		    // 礼券支付
	public final static String	PAYMENT_METHOD_OFFLINE_DESC    	   	   = "线下支付";           		    // 线下支付，包括货到付款和自提
	public final static String	PAYMENT_METHOD_ONLINE_DESC    	   	   = "在线支付";           		    // 在线支付

	public final static String	REFUND_METHOD_POINT_DESC		   	   = "退还积分";           		    // 退还积分
	public final static String	REFUND_METHOD_GC_DESC      	   	       = "礼券退款";           		    // 礼券退款
	
	public final static String	REFUND_REASON_CANCEL_ORDER 	   	       = "订单取消";           		    // 订单取消
	
	/** -------------------------------------------------------------------**/
	public final static Short	PAYMENT_TYPE_MONEY       	   	      = Short.valueOf((short)1);	    // 现金
	public final static Short	PAYMENT_TYPE_CARD       	   	      = Short.valueOf((short)2);	    // POS刷卡
	public final static Short	PAYMENT_TYPE_CHEQUE       	   	      = Short.valueOf((short)3);	    // 支票
	
	public final static String[] PAYMENT_TYPE_NAME_ARRAY = new String[]{"","现金支付","POS刷卡","支票支付"}; //支付方式名称数组
	
	/** ------------------------------------配送方式-------------------------------**/
	public final static String	DELIVERY_TYPE_COD   			   	   = "货到付款";           		    // 积分支付
	public final static String	DELIVERY_TYPE_CASH     			   	   = "款到发货";           		    // 款到发货
	public final static String	DELIVERY_TYPE_SELFCOLLECT		   	   = "自提";             		    // 自提
	public final static String	DELIVERY_TYPE_GC        		   	   = "礼券Email发送";             	// 礼券email发送
	public final static String	DELIVERY_TYPE_VIRTUAL        		   = "虚拟商品发送";             	// 虚拟商品发送
	
	public final static Short	DELIVERY_KIND_CARRIER       	   	   = Short.valueOf((short)1); 	    // 运输公司
	public final static Short	DELIVERY_KIND_SELFCOLLECT       	   	= Short.valueOf((short)2); 	    // 自提
	
	
	/** ------------------------------------订单来源-------------------------------**/
	public final static Short	SOURCE_CUSTOMER   			   	   	   = Short.valueOf((short)1); 	    // 前台下单
	public final static Short	SOURCE_ADMIN        			   	   = Short.valueOf((short)2); 	    // 管理员下单
	
	/** ------------------------------------订单事务类型-------------------------------**/
	public final static Short	TRANSACTION_TYPE_CREATE_ORDER_BYCUSTOMER  	   = Short.valueOf((short)1); 	    // 前台下订单
	public final static Short	TRANSACTION_TYPE_CREATE_ORDER_BYADMIN   	   = Short.valueOf((short)2); 	    // 后台管理员下订单
	public final static Short	TRANSACTION_TYPE_CONFIRM_ORDER   	           = Short.valueOf((short)3); 	    // 确认订单
	public final static Short	TRANSACTION_TYPE_PAY_ORDER   	               = Short.valueOf((short)4); 	    // 订单收款
	public final static Short	TRANSACTION_TYPE_REFUND_ORDER 	               = Short.valueOf((short)5); 	    // 订单退款
	public final static Short	TRANSACTION_TYPE_SHIP_ORDER 	               = Short.valueOf((short)6); 	    // 订单发货
	public final static Short	TRANSACTION_TYPE_RETURN_ORDER 	               = Short.valueOf((short)7); 	    // 订单退货
	public final static Short	TRANSACTION_TYPE_EDIT_ORDER 	               = Short.valueOf((short)8); 	    // 订单编辑
	public final static Short	TRANSACTION_TYPE_PICK_ORDER 	               = Short.valueOf((short)9); 	    // 订单备货
	public final static Short	TRANSACTION_TYPE_CANCEL_ORDER_BYCUSTOMER       = Short.valueOf((short)10); 	    // 客户取消订单
	public final static Short	TRANSACTION_TYPE_CANCEL_ORDER_BYADMIN		   = Short.valueOf((short)11); 	    // 管理员取消订单
	public final static Short	TRANSACTION_TYPE_CANCEL_ORDER_4NotPaid		   = Short.valueOf((short)12); 	    // 系统自动取消订单
	public final static Short	TRANSACTION_TYPE_COMPLETE_ORDER      		   = Short.valueOf((short)13); 	    // 完成订单
	

}
